<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>类的声明</title>
    </head>
    <body></body>
    <script type="text/javascript">
        // //声明一个函数
        // function Computer(brand, price){
        //   //初始化  为实例对象添加属性
        //   this.brand = brand;
        //   this.price = price;
        // }

        // //为示例对象原型添加方法
        // Computer.prototype.program = function(){
        //   console.log('编程中....');
        // }

        // //实例化
        // let myComputer = new Computer('外星人', 5500);

        // console.log(myComputer);
        // -----------------------------------------
        // class 类  作用: 为了实例化对象

        class Computer {
            //属性  为实例对象添加属性  『可选的』
            brand;
            price = 2000;

            //方法
            //构造方法 构建的意思 方法名是固定的,
            // 特点:
            // 1. 自动执行的 , 当实例化对象的时候, 该方法就会自动执行
            // 2. 构造方法内部的 this 是指向实例对象的
            // 作用: 初始化对象
            constructor(brand, price) {
                this.brand = brand;
                this.price = price;
            }

            //普通方法  为实例对象(原型)添加方法
            program() {
                console.log("编程....");
            }
        }

        let me = new Computer("ThinkPad W540", "4200");

        console.log(me);
    </script>
</html>
